package cn.jiahua.hospital.service;

import cn.jiahua.hospital.dto.BaseException;
import cn.jiahua.hospital.dto.HospitalDto;
import cn.jiahua.hospital.pojo.Hospital;

import java.util.Date;
import java.util.List;
import java.util.Map;

import cn.jiahua.hospital.dto.Page;
import org.apache.ibatis.annotations.Param;

/**
 * Created by shang-pc on 2015/11/7.
 */
public interface HospitalService {

    public HospitalDto getHospitalDtoById(@Param(value = "id") Integer id);

    public HospitalDto getHospitalDtoById2(@Param(value = "id") Integer id);

    public Hospital getHospitalById(Integer id);

    public List<Hospital> getHospitalListByMap(Map<String, Object> param);

    public Integer getHospitalCountByMap(Map<String, Object> param);

    public Integer qdtxAddHospital(Hospital hospital);

    public Integer qdtxModifyHospital(Hospital hospital);

    public Integer qdtxDeleteHospitalById(Integer id);

    public Integer qdtxBatchDeleteHospital(String ids);

    public Page<Hospital> queryHospitalPageByMap(Map<String, Object> param, Integer pageNo, Integer pageSize);

    public boolean hospitalLogin(String account, String password);

    public int hospitalSelectCount(@Param(value = "hospitalName") String hospitalName,
                                   @Param(value = "AddressId") Integer AddressId);

    public List<Hospital> hospitalSelectPage(@Param(value = "hospitalName") String hospitalName,
                                             @Param(value = "AddressId") Integer AddressId,
                                             @Param(value = "pageNo") Integer pageNo,
                                             @Param(value = "pageSize") Integer pageSize);

    public List<Hospital> hospitalAttentionData(@Param(value = "pageNo")Integer pageNo,
                                                @Param(value = "pageSize")Integer pageSize);

    public List<HospitalDto> hospitalSelectPage2(@Param(value = "hospitalName")String hospitalName,
                                                 @Param(value = "AddressId")Integer AddressId,
                                                 @Param(value = "pageNo")Integer pageNo,
                                                 @Param(value = "pageSize")Integer pageSize);

    public int hospitalSelectCount2(@Param(value = "hospitalName") String hospitalName,
                                    @Param(value = "AddressId") Integer AddressId);

    public List<HospitalDto> hospitalSelectPage3(@Param(value = "hospitalName")String hospitalName,
                                                 @Param(value = "AddressId")Integer AddressId,
                                                 @Param(value = "pageNo")Integer pageNo,
                                                 @Param(value = "pageSize")Integer pageSize);
    public int hospitalSelectCount3(@Param(value = "hospitalName") String hospitalName,
                                    @Param(value = "AddressId") Integer AddressId);
}
